﻿namespace NuGetCop.MSBuild.Tasks.Configuration.Readers.Contracts
{
    using System;
    using System.Diagnostics.Contracts;

    [ContractClassFor(typeof(INuGetCopSettingsReader<>))]
    internal abstract class ContractForINuGetCopSettingsReader<TSource> : INuGetCopSettingsReader<TSource>
    {
        private ContractForINuGetCopSettingsReader()
        {
        }

        public NuGetCopSettings ReadSettings(TSource source)
        {
            Contract.Requires(source != null);
            Contract.Ensures(Contract.Result<NuGetCopSettings>() != null);

            throw new NotImplementedException();
        }
    }
}
